package org.yelongframework.model.generator.manager.wrapper;

import java.util.List;

import org.yelongframework.model.generator.manager.DefaultGenModelAndTable;
import org.yelongframework.model.generator.manager.GenFieldAndColumn;
import org.yelongframework.model.generator.manager.GenModelAndTable;
import org.yelongframework.model.generator.manager.GenModelAndTableProperties;
import org.yelongframework.model.manager.ModelAndTable;
import org.yelongframework.model.manager.wrapper.ModelAndTableWrapper;

/**
 * 包装模型表包装器
 * 
 * @since 1.0.0
 */
public class GenWrapperModelAndTableWrapper extends ModelAndTableWrapper implements GenModelAndTable {

	/** 模型表 */
	private final GenModelAndTable genModelAndTable;

	// ==================================================构造器==================================================

	/**
	 * @param modelAndTable 模型表
	 */
	public GenWrapperModelAndTableWrapper(ModelAndTable modelAndTable) {
		super(modelAndTable);
		genModelAndTable = new DefaultGenModelAndTable(modelAndTable.getModelClassName(), modelAndTable.getTableName());
	}

	// ==================================================模型类==================================================

	@Override
	public String getModelClassPackageName() {
		return getGenModelAndTable().getModelClassPackageName();
	}

	// ==================================================字段列==================================================

	@Override
	public List<GenFieldAndColumn> getGenFieldAndColumnAll() {
		return getGenModelAndTable().getGenFieldAndColumnAll();
	}

	// ==================================================属性==================================================

	@Override
	public GenModelAndTableProperties getProperties() {
		return getGenModelAndTable().getProperties();
	}

	// ==================================================模型表==================================================

	/**
	 * @return 模型表
	 */
	public GenModelAndTable getGenModelAndTable() {
		return genModelAndTable;
	}

}
